home *** CD-ROM | disk | FTP | other *** search
/ Pro Intralink 3.1 / Pro Intralink v3.1.iso / dsrc / templates / unix / u_pdm_startup.tpl < prev    next >
Encoding:
Text File  |  2001-11-27  |  5.5 KB  |  205 lines

  1. // 14-Apr-98 $$1 ZRL Created
  2. // 19-May-98     ZRL Added LD_LIBRARY_PATH for sun4_solaris
  3. // 10-Jun-98     JJE nmsq stuff not needed here
  4. // 16-Jun-98 $$2 JJE Group Submission
  5. // 19-Oct-98 $$3 TWH modify hp8k chk, add sgi_mips4 chk
  6. // 14-Dec-99 $$4 JJE Don't set preload on sun
  7. // 09-Feb-00 $$5 MYA Change includeenv to include for BG_INDICATOR 
  8. // 10-Mar-00 $$6 TWH Add stublib for IBM
  9. // 26-Jun-00 $$7 TWH reorder nlo_directory.env/pdmbgindicator.env
  10. //                   moved pdm33orauser call into pdmbgindicator.env
  11. // 07-Aug-00 $$8 TWH Check if hpux11_pa32 exists
  12. // 23-Jan-01 $$9  TWH   Sun4_solaris_64 changes
  13. // 29-Mar-01 $$10 ALG Add __PDM_SERVER_PORT__ (SPR 753378)
  14. // 11-Apr-01      TWH Add xgl_stub check for sun4
  15. // 16-May-01 $$11 TWH hpux_pa64
  16. // 25-May-01 $$12 JJE  Don't use ucb paths on sun
  17. #!/bin/sh
  18. # ptc-cmdtype: pdmserver
  19.  
  20. PATH=$PATH:/bin:/usr/bin:/etc;export PATH
  21.  
  22. #includeenv:NLO_DIRECTORY:nlo_directory.env
  23. #include:PDM_BG_INDICATOR:pdmbgindicator.env
  24.  
  25. PDM_DIRECTORY=$NLO_DIRECTORY/pdm; export PDM_DIRECTORY
  26. PRO_DIRECTORY=$NLO_DIRECTORY; export PRO_DIRECTORY
  27. PDM_SERVER_DIR=$NLO_DIRECTORY; export PDM_SERVER_DIR
  28. mc=`$PDM_SERVER_DIR/install/unix/getpmt`
  29. if [ "$mc" = "hpux_pa64" ]; then
  30.   if [ ! -d $NLO_DIRECTORY/hpux_pa64 ]; then
  31.     mc=hpux11_pa32
  32.   fi
  33. fi
  34. if [ "$mc" = "hpux11_pa32" ]; then
  35.   if [ ! -d $NLO_DIRECTORY/hpux11_pa32 ]; then
  36.     mc=hp8k
  37.   fi
  38. fi
  39. if [ "$mc" = "hp8k" ]; then
  40.    if [ ! -d $NLO_DIRECTORY/hp8k ]; then
  41.       if [ -d $NLO_DIRECTORY/hp700 ]; then
  42.          mc=hp700
  43.       fi
  44.    fi
  45. fi
  46. if [ "$mc" = "sgi_mips4" ]; then
  47.    if [ ! -d $NLO_DIRECTORY/sgi_mips4 ]; then
  48.       if [ -d $NLO_DIRECTORY/sgi_elf2 ]; then
  49.          mc=sgi_elf2
  50.       fi
  51.    fi
  52. fi
  53. PDMDB_FLUSH_LEVEL=2; export PDMDB_FLUSH_LEVEL
  54. PDM_PORT=__PDM_SERVER_PORT__; export PDM_PORT
  55. PDMSIG_START=$NLO_DIRECTORY/$mc/obj/pdmsignal; export PDMSIG_START
  56. PRO_COMM_MSG_EXE=$NLO_DIRECTORY/$mc/obj/pro_comm_msg; export PRO_COMM_MSG_EXE
  57. PDM_SERVER_LOG_MAX_LINES=5000; export PDM_SERVER_LOG_MAX_LINES
  58.  
  59. pdmargs=""
  60. mailaddr=""
  61. norestart=0
  62.  
  63. missingpar=0
  64. i=1
  65. while [ $i -le $# -a $missingpar = 0 ]
  66. do
  67.    currpar=`echo "$*" | awk '{print $'$i'}'`
  68.  
  69.    case $currpar in
  70.    -onetime)
  71.       norestart=1
  72.       ;;
  73.  
  74.    -mail)
  75.       i=`echo $i + 1 | bc`
  76.       if [ $i -gt $# ]; then
  77.          missingpar=1
  78.       else
  79.          mailaddr=`echo "$*" | awk '{print $'$i'}'`
  80.       fi
  81.       ;;
  82.  
  83.    *)
  84.       pdmargs="$pdmargs $currpar"
  85.       ;;
  86.    esac
  87.  
  88.    i=`echo $i + 1 | bc`
  89. done
  90.  
  91. if [ $missingpar -eq 1 ]; then
  92.    echo "ERROR:  you must supply a parameter after -mail"
  93.    exit 1
  94. fi
  95.  
  96. ps_cmd="ps -ef"
  97. whoami_cmd="whoami"
  98. # EXIT_SUCCESS EXIT_WARNING
  99. pdm_exits="0 1"
  100. # SIGKILL(9) SIGTERM(15) SIGINT(2) SIGSTOP(24) SIGABRT(6)
  101. sig_exits="137 143 130 151 134"
  102. dbg=0
  103.  
  104. case $mc in
  105. alpha_unix)
  106.    ps_cmd="ps auxww"
  107.    if [ "$LD_LIBRARY_PATH" = "" ]; then
  108.       LD_LIBRARY_PATH=$PDM_SERVER_DIR/$mc/obj; export LD_LIBRARY_PATH
  109.    else
  110.       LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$PDM_SERVER_DIR/$mc/obj; export LD_LIBRARY_PATH
  111.    fi
  112.    ;;
  113.  
  114. sun4_solaris*)
  115.    ps_cmd="/bin/ps -ef"
  116.    if [ "$LD_LIBRARY_PATH" = "" ]; then
  117.       LD_LIBRARY_PATH=$PDM_SERVER_DIR/$mc/obj; export LD_LIBRARY_PATH
  118.    else
  119.       LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$PDM_SERVER_DIR/$mc/obj; export LD_LIBRARY_PATH
  120.    fi
  121.    if [ ! -f "/opt/SUNWits/Graphics-sw/xgl/lib/libxgl.so" ]; then
  122.      xgl_stub="$PRO_DIRECTORY/$mc/xglstub";
  123.      LD_LIBRARY_PATH=${xgl_stub}:${LD_LIBRARY_PATH}
  124.    fi
  125.  
  126.    TWO_TASK=p:; export TWO_TASK
  127.  
  128.    descr_limit=`ulimit -n`
  129.    if [ ${descr_limit} -le 400 ]; then
  130.     ulimit -n 400
  131.    fi
  132.    ;;
  133.  
  134. hp*)
  135.    if [ "$SHLIB_PATH" = "" ]; then
  136.       SHLIB_PATH=/usr/lib/X11R5:/usr/lib:$PDM_SERVER_DIR/$mc/obj; export SHLIB_PATH
  137.    else
  138.       SHLIB_PATH=${SHLIB_PATH}:$PDM_SERVER_DIR/$mc/obj; export SHLIB_PATH
  139.    fi
  140.    ;;
  141.  
  142. ibm_rs6000)
  143.    if [ `uname -v` = 3 ] ; then
  144.       ulimit -b 1000000
  145.    else
  146.       ulimit -d unlimited
  147.    fi
  148.    if [ "$LIBPATH" = "" ]; then
  149.       LIBPATH=/usr/lib:/lib:$PDM_SERVER_DIR/$mc/obj; export LIBPATH
  150.    else
  151.       LIBPATH=${LIBPATH}:$PDM_SERVER_DIR/$mc/obj; export LIBPATH
  152.    fi
  153.    if [ ! -e "/usr/lib/libGL.a" ] ; then
  154.       LIBPATH=${LIBPATH}:$PDM_SERVER_DIR/$mc/stublib; export LIBPATH
  155.    fi 
  156.    ;;
  157. esac
  158.  
  159. case $mc in
  160. sgi_elf2|nec_mips|alpha_unix)
  161. ulimit -s 32768
  162. ulimit -n 350
  163. ;;
  164. sun4_solaris|ibm_rs6000)
  165. ulimit -s 32768
  166. ;;
  167. esac
  168.  
  169. pdmstop_exits="$pdm_exits $sig_exits"
  170.  
  171. pdmpid="`$ps_cmd | egrep -v grep | grep obj/pdmserver | tail -1 | awk '{print $2}'`"
  172. if [ "$pdmpid" ]; then
  173.    echo "ERROR:  pdmserver (PID=$pdmpid) is already running - stop it and retry"
  174.    exit 1
  175. fi
  176.  
  177. curruser=`$whoami_cmd | awk '{print $1}'`
  178.  
  179. # Start proremd if not already running
  180. raw="`$ps_cmd | grep -v grep | grep proremd | tail -1`"
  181. remdpid=`echo "$raw" | awk '{print $2}'`
  182. remduser=`echo "$raw" | awk '{print $1}'`
  183. uidlen=`echo "$curruser" | awk '{print length($1)}'`
  184. if [ "$remduser" = "" ]; then
  185.    $PDM_SERVER_DIR/$mc/obj/proremd 1> /dev/null 2>&1 &
  186. elif [ "$remduser" != "$curruser" ]; then
  187.    firsteight=`echo "$curruser" | awk '{print substr($1,1,8)}'`
  188.    if [ $uidlen -gt 8 ] && [ "$remduser" = "$firsteight" ]; then
  189.       echo ""
  190.       echo "WARNING: Your username exceeds eight characters. Unable to determine if"
  191.       echo "         existing process 'proremd' is yours. First eigth characters matched"
  192.       echo "         your username, continuing ..."
  193.    else
  194.       echo ""
  195.       echo "ERROR:  a 'proremd' process (PID=$remdpid) owned by user '$remduser' exists."
  196.       echo "        Stop it and retry as '$curruser'."
  197.       exit 1
  198.    fi
  199. fi
  200.  
  201. . $NLO_DIRECTORY/pdm/pdmtools/unix/convert_shenv
  202.  
  203. #includeenv:PDM_ORACLE:pdmoracle.env
  204. #includeenv:PDM_NO_ORACLE:pdmnooracle.env
  205.